/*
 * 代号：凤凰
 * http://www.jphenix.org
 * 2022年8月21日
 * V4.0
 */
package com.jphenix.standard.servlet.api;

import java.util.Enumeration;

import com.jphenix.standard.docs.ClassInfo;

/**
 * 过滤器配置信息类接口
 * 
 * 由于Tomcat10开始，servlet-api.jar中的包路径改成了雅加达
 * (从javax.servlet改成了jakarta.servlet）
 * 
 * 后续框架包需要适配新旧两种版本的接口，甚至更多的接口
 * 
 * 2022-09-04 隔离了ServletApi，兼容新老Tomcat
 * 
 * 
 * @author MBG
 * 2022年8月21日
 */
@ClassInfo({"2022-09-04 21:58","过滤器配置信息类接口"})
public interface IFilterConfig {

	/**
	 * 返回过滤器名
	 * @return 过滤器名
	 * 2022年8月21日
	 * @author MBG
	 */
	String getFilterName();

	/**
	 * 返回Servlet上下文
	 * @return Servlet上下文
	 * 2022年8月21日
	 * @author MBG
	 */
	IServletContext getServletContext();

	/**
	 * 返回指定的初始化配置参数
	 * @param name    参数名
	 * @return        参数值
	 * 2022年8月21日
	 * @author MBG
	 */
	String getInitParameter(String name);

	/**
	 * 返回参数名枚举实例
	 * @return 参数名枚举实例
	 * 2022年8月21日
	 * @author MBG
	 */
	Enumeration<String> getInitParameterNames();
	
	/**
	 * 设置初始化参数
	 * @author 刘虻
	 * 2010-5-25 下午05:12:20
	 * @param key 参数主键
	 * @param value 参数值
	 */
	void setInitParameter(String key,String value);
}
